/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.com.smart.hawk.controller.impl;

import co.com.smart.hawk.controller.HawkEmpresasCtrl;
import co.com.smart.hawk.dto.EmpresaDTO;
import co.com.smart.hawk.model.caller.EmpresasCaller;
import co.com.smart.hawk.utilities.Utility.CallBackSmartHawk;
import java.util.List;
import javax.persistence.EntityManager;

/**
 * @author Carlos Enaldo Ramos Hoyos
 * @Fecha 24/01/2017
 */
public class HawkEmpresasCtrlImpl implements HawkEmpresasCtrl{
    
    private EntityManager entityManager;
    private EmpresasCaller empresasCaller;
    
    public HawkEmpresasCtrlImpl(EntityManager entityManager){
        this.entityManager = entityManager;
        empresasCaller = new EmpresasCaller();
    }

    @Override
    public void grabarEmpresas(CallBackSmartHawk<EmpresaDTO> callBack, EmpresaDTO empresa) throws Throwable {
        callBack.endProcess(empresasCaller.grabarEmpresas(empresa));
    }

    @Override
    public void consultarEmpresas(CallBackSmartHawk<EmpresaDTO> callBack, EmpresaDTO empresa) throws Throwable {
        callBack.endProcess(empresasCaller.consultarEmpresas(empresa));
    }

    @Override
    public void eliminarEmpresas(CallBackSmartHawk<EmpresaDTO> callBack, EmpresaDTO empresa) throws Throwable {
        callBack.endProcess(empresasCaller.eliminarEmpresas(empresa));
    }

    @Override
    public void listarEmpresas(CallBackSmartHawk<List<EmpresaDTO>> callBack, EmpresaDTO filtros) throws Throwable {
        callBack.endProcess(empresasCaller.listarEmpresas(filtros));
    }
}
